﻿#define _CRT_SECURE_NO_WARNINGS 1
#pragma once
1576. 替换所有的问号
class Solution {
public:
    string modifyString(string s) {
        int n = s.size();
        for(int i = 0; i < n; i++)
        {
            if(s[i] == '?') // 替换
            {
                for(char ch = 'a'; ch <= 'z'; ch++)
                {
                    if((i == 0 || ch != s[i - 1]) && (i == n - 1 || ch != s[i + 1])) 
                    {
                        s[i] = ch;
                        break;
                    }
                }
            }
        }
        return s;
    }
};
495. 提莫攻击

class Solution {
public:
    int findPoisonedDuration(vector<int>& timeSeries, int duration) {
        // 模拟 + 分情况讨论。
        // 计算相邻两个时间点的差值：
        // i. 如果差值⼤于等于中毒时间，说明上次中毒可以持续 duration 秒；
        // ii. 如果差值⼩于中毒时间，那么上次的中毒只能持续两者的差值。
        int ret = 0;
        for(int i = 1; i < timeSeries.size(); i++)
        {
            int tmp = timeSeries[i] - timeSeries[i-1];
            if(tmp >= duration) ret += duration;
            else ret += tmp;
        }
        return ret + duration;
    }
};